
/tmp/arduino/sketches/B41B1B1F121BD09A9E6F2FDA54E52224/tommy.ino.elf:     file format elf32-avr


Disassembly of section .text:

00000000 <__vectors>:
__vectors():
   0:	4a c1       	rjmp	.+660    	; 0x296 <__ctors_end>
   2:	64 c1       	rjmp	.+712    	; 0x2cc <__bad_interrupt>
   4:	63 c1       	rjmp	.+710    	; 0x2cc <__bad_interrupt>
   6:	62 c1       	rjmp	.+708    	; 0x2cc <__bad_interrupt>
   8:	61 c1       	rjmp	.+706    	; 0x2cc <__bad_interrupt>
   a:	60 c1       	rjmp	.+704    	; 0x2cc <__bad_interrupt>
   c:	4a c2       	rjmp	.+1172   	; 0x4a2 <__vector_6>
   e:	5e c1       	rjmp	.+700    	; 0x2cc <__bad_interrupt>
  10:	5d c1       	rjmp	.+698    	; 0x2cc <__bad_interrupt>
  12:	5c c1       	rjmp	.+696    	; 0x2cc <__bad_interrupt>
  14:	5b c1       	rjmp	.+694    	; 0x2cc <__bad_interrupt>
  16:	fb c1       	rjmp	.+1014   	; 0x40e <__vector_11>
  18:	59 c1       	rjmp	.+690    	; 0x2cc <__bad_interrupt>
  1a:	58 c1       	rjmp	.+688    	; 0x2cc <__bad_interrupt>
  1c:	57 c1       	rjmp	.+686    	; 0x2cc <__bad_interrupt>
  1e:	56 c1       	rjmp	.+684    	; 0x2cc <__bad_interrupt>
  20:	55 c1       	rjmp	.+682    	; 0x2cc <__bad_interrupt>

00000022 <__trampolines_end>:
__trampolines_start():
  22:	55 04       	cpc	r5, r5
  24:	e4 02       	muls	r30, r20
  26:	e4 02       	muls	r30, r20
  28:	55 04       	cpc	r5, r5
  2a:	e4 02       	muls	r30, r20
  2c:	e4 02       	muls	r30, r20
  2e:	55 04       	cpc	r5, r5
  30:	e4 02       	muls	r30, r20
  32:	97 04       	cpc	r9, r7
  34:	e4 02       	muls	r30, r20
  36:	55 04       	cpc	r5, r5
  38:	e4 02       	muls	r30, r20
  3a:	e4 02       	muls	r30, r20
  3c:	55 04       	cpc	r5, r5
  3e:	e4 02       	muls	r30, r20
  40:	e4 02       	muls	r30, r20
  42:	55 04       	cpc	r5, r5
  44:	e4 02       	muls	r30, r20
  46:	97 04       	cpc	r9, r7
  48:	e4 02       	muls	r30, r20
  4a:	55 04       	cpc	r5, r5
  4c:	e4 02       	muls	r30, r20
  4e:	e4 02       	muls	r30, r20
  50:	55 04       	cpc	r5, r5
  52:	e4 02       	muls	r30, r20
  54:	e4 02       	muls	r30, r20
  56:	55 04       	cpc	r5, r5
  58:	e4 02       	muls	r30, r20
  5a:	97 04       	cpc	r9, r7
  5c:	e4 02       	muls	r30, r20
  5e:	55 04       	cpc	r5, r5
  60:	e4 02       	muls	r30, r20
  62:	e4 02       	muls	r30, r20
  64:	55 04       	cpc	r5, r5
  66:	e4 02       	muls	r30, r20
  68:	e4 02       	muls	r30, r20
  6a:	55 04       	cpc	r5, r5
  6c:	e4 02       	muls	r30, r20
  6e:	97 04       	cpc	r9, r7
  70:	e4 02       	muls	r30, r20
  72:	55 04       	cpc	r5, r5
  74:	e4 02       	muls	r30, r20
  76:	e4 02       	muls	r30, r20
  78:	55 04       	cpc	r5, r5
  7a:	e4 02       	muls	r30, r20
  7c:	e4 02       	muls	r30, r20
  7e:	55 04       	cpc	r5, r5
  80:	e4 02       	muls	r30, r20
  82:	97 04       	cpc	r9, r7
  84:	e4 02       	muls	r30, r20
  86:	55 04       	cpc	r5, r5
  88:	e4 02       	muls	r30, r20
  8a:	e4 02       	muls	r30, r20
  8c:	55 04       	cpc	r5, r5
  8e:	e4 02       	muls	r30, r20
  90:	e4 02       	muls	r30, r20
  92:	55 04       	cpc	r5, r5
  94:	e4 02       	muls	r30, r20
  96:	97 04       	cpc	r9, r7
  98:	e4 02       	muls	r30, r20
  9a:	17 04       	cpc	r1, r7
  9c:	ba 02       	muls	r27, r26
  9e:	ba 02       	muls	r27, r26
  a0:	17 04       	cpc	r1, r7
  a2:	ba 02       	muls	r27, r26
  a4:	ba 02       	muls	r27, r26
  a6:	17 04       	cpc	r1, r7
  a8:	ba 02       	muls	r27, r26
  aa:	55 04       	cpc	r5, r5
  ac:	ba 02       	muls	r27, r26
  ae:	17 04       	cpc	r1, r7
  b0:	ba 02       	muls	r27, r26
  b2:	ba 02       	muls	r27, r26
  b4:	17 04       	cpc	r1, r7
  b6:	ba 02       	muls	r27, r26
  b8:	ba 02       	muls	r27, r26
  ba:	17 04       	cpc	r1, r7
  bc:	ba 02       	muls	r27, r26
  be:	55 04       	cpc	r5, r5
  c0:	ba 02       	muls	r27, r26
  c2:	55 04       	cpc	r5, r5
  c4:	e4 02       	muls	r30, r20
  c6:	e4 02       	muls	r30, r20
  c8:	55 04       	cpc	r5, r5
  ca:	e4 02       	muls	r30, r20
  cc:	e4 02       	muls	r30, r20
  ce:	55 04       	cpc	r5, r5
  d0:	e4 02       	muls	r30, r20
  d2:	97 04       	cpc	r9, r7
  d4:	e4 02       	muls	r30, r20
  d6:	55 04       	cpc	r5, r5
  d8:	e4 02       	muls	r30, r20
  da:	e4 02       	muls	r30, r20
  dc:	55 04       	cpc	r5, r5
  de:	e4 02       	muls	r30, r20
  e0:	e4 02       	muls	r30, r20
  e2:	55 04       	cpc	r5, r5
  e4:	e4 02       	muls	r30, r20
  e6:	97 04       	cpc	r9, r7
  e8:	e4 02       	muls	r30, r20
  ea:	17 04       	cpc	r1, r7
  ec:	ba 02       	muls	r27, r26
  ee:	ba 02       	muls	r27, r26
  f0:	17 04       	cpc	r1, r7
  f2:	ba 02       	muls	r27, r26
  f4:	ba 02       	muls	r27, r26
  f6:	17 04       	cpc	r1, r7
  f8:	ba 02       	muls	r27, r26
  fa:	55 04       	cpc	r5, r5
  fc:	ba 02       	muls	r27, r26
  fe:	17 04       	cpc	r1, r7
 100:	ba 02       	muls	r27, r26
 102:	ba 02       	muls	r27, r26
 104:	17 04       	cpc	r1, r7
 106:	ba 02       	muls	r27, r26
 108:	ba 02       	muls	r27, r26
 10a:	17 04       	cpc	r1, r7
 10c:	ba 02       	muls	r27, r26
 10e:	55 04       	cpc	r5, r5
 110:	ba 02       	muls	r27, r26
 112:	dc 03       	fmulsu	r21, r20
 114:	93 02       	muls	r25, r19
 116:	93 02       	muls	r25, r19
 118:	dc 03       	fmulsu	r21, r20
 11a:	93 02       	muls	r25, r19
 11c:	93 02       	muls	r25, r19
 11e:	dc 03       	fmulsu	r21, r20
 120:	93 02       	muls	r25, r19
 122:	17 04       	cpc	r1, r7
 124:	93 02       	muls	r25, r19
 126:	dc 03       	fmulsu	r21, r20
 128:	93 02       	muls	r25, r19
 12a:	93 02       	muls	r25, r19
 12c:	dc 03       	fmulsu	r21, r20
 12e:	93 02       	muls	r25, r19
 130:	93 02       	muls	r25, r19
 132:	dc 03       	fmulsu	r21, r20
 134:	93 02       	muls	r25, r19
 136:	17 04       	cpc	r1, r7
 138:	93 02       	muls	r25, r19
 13a:	a4 03       	fmuls	r18, r20
 13c:	6e 02       	muls	r22, r30
 13e:	6e 02       	muls	r22, r30
 140:	a4 03       	fmuls	r18, r20
 142:	6e 02       	muls	r22, r30
 144:	6e 02       	muls	r22, r30
 146:	a4 03       	fmuls	r18, r20
 148:	6e 02       	muls	r22, r30
 14a:	dc 03       	fmulsu	r21, r20
 14c:	6e 02       	muls	r22, r30
 14e:	a4 03       	fmuls	r18, r20
 150:	6e 02       	muls	r22, r30
 152:	6e 02       	muls	r22, r30
 154:	a4 03       	fmuls	r18, r20
 156:	6e 02       	muls	r22, r30
 158:	6e 02       	muls	r22, r30
 15a:	a4 03       	fmuls	r18, r20
 15c:	6e 02       	muls	r22, r30
 15e:	dc 03       	fmulsu	r21, r20
 160:	6e 02       	muls	r22, r30
 162:	dc 03       	fmulsu	r21, r20
 164:	93 02       	muls	r25, r19
 166:	93 02       	muls	r25, r19
 168:	dc 03       	fmulsu	r21, r20
 16a:	93 02       	muls	r25, r19
 16c:	93 02       	muls	r25, r19
 16e:	dc 03       	fmulsu	r21, r20
 170:	93 02       	muls	r25, r19
 172:	17 04       	cpc	r1, r7
 174:	93 02       	muls	r25, r19
 176:	dc 03       	fmulsu	r21, r20
 178:	93 02       	muls	r25, r19
 17a:	93 02       	muls	r25, r19
 17c:	dc 03       	fmulsu	r21, r20
 17e:	93 02       	muls	r25, r19
 180:	93 02       	muls	r25, r19
 182:	dc 03       	fmulsu	r21, r20
 184:	93 02       	muls	r25, r19
 186:	17 04       	cpc	r1, r7
 188:	93 02       	muls	r25, r19
 18a:	a4 03       	fmuls	r18, r20
 18c:	6e 02       	muls	r22, r30
 18e:	6e 02       	muls	r22, r30
 190:	a4 03       	fmuls	r18, r20
 192:	6e 02       	muls	r22, r30
 194:	6e 02       	muls	r22, r30
 196:	a4 03       	fmuls	r18, r20
 198:	6e 02       	muls	r22, r30
 19a:	dc 03       	fmulsu	r21, r20
 19c:	6e 02       	muls	r22, r30
 19e:	a4 03       	fmuls	r18, r20
 1a0:	6e 02       	muls	r22, r30
 1a2:	6e 02       	muls	r22, r30
 1a4:	a4 03       	fmuls	r18, r20
 1a6:	6e 02       	muls	r22, r30
 1a8:	6e 02       	muls	r22, r30
 1aa:	a4 03       	fmuls	r18, r20
 1ac:	6e 02       	muls	r22, r30
 1ae:	dc 03       	fmulsu	r21, r20
 1b0:	6e 02       	muls	r22, r30
 1b2:	e4 02       	muls	r30, r20
 1b4:	ee 01       	movw	r28, r28
 1b6:	ee 01       	movw	r28, r28
 1b8:	e4 02       	muls	r30, r20
 1ba:	ee 01       	movw	r28, r28
 1bc:	ee 01       	movw	r28, r28
 1be:	e4 02       	muls	r30, r20
 1c0:	ee 01       	movw	r28, r28
 1c2:	10 03       	mulsu	r17, r16
 1c4:	ee 01       	movw	r28, r28
 1c6:	e4 02       	muls	r30, r20
 1c8:	ee 01       	movw	r28, r28
 1ca:	ee 01       	movw	r28, r28
 1cc:	e4 02       	muls	r30, r20
 1ce:	ee 01       	movw	r28, r28
 1d0:	ee 01       	movw	r28, r28
 1d2:	e4 02       	muls	r30, r20
 1d4:	ee 01       	movw	r28, r28
 1d6:	10 03       	mulsu	r17, r16
 1d8:	ee 01       	movw	r28, r28
 1da:	e4 02       	muls	r30, r20
 1dc:	ee 01       	movw	r28, r28
 1de:	ee 01       	movw	r28, r28
 1e0:	e4 02       	muls	r30, r20
 1e2:	ee 01       	movw	r28, r28
 1e4:	ee 01       	movw	r28, r28
 1e6:	e4 02       	muls	r30, r20
 1e8:	ee 01       	movw	r28, r28
 1ea:	10 03       	mulsu	r17, r16
 1ec:	ee 01       	movw	r28, r28
 1ee:	e4 02       	muls	r30, r20
 1f0:	ee 01       	movw	r28, r28
 1f2:	ee 01       	movw	r28, r28
 1f4:	e4 02       	muls	r30, r20
 1f6:	ee 01       	movw	r28, r28
 1f8:	ee 01       	movw	r28, r28
 1fa:	e4 02       	muls	r30, r20
 1fc:	ee 01       	movw	r28, r28
 1fe:	10 03       	mulsu	r17, r16
 200:	ee 01       	movw	r28, r28
 202:	e4 02       	muls	r30, r20
 204:	ee 01       	movw	r28, r28
 206:	ee 01       	movw	r28, r28
 208:	e4 02       	muls	r30, r20
 20a:	ee 01       	movw	r28, r28
 20c:	ee 01       	movw	r28, r28
 20e:	e4 02       	muls	r30, r20
 210:	ee 01       	movw	r28, r28
 212:	10 03       	mulsu	r17, r16
 214:	ee 01       	movw	r28, r28
 216:	e4 02       	muls	r30, r20
 218:	ee 01       	movw	r28, r28
 21a:	ee 01       	movw	r28, r28
 21c:	e4 02       	muls	r30, r20
 21e:	ee 01       	movw	r28, r28
 220:	ee 01       	movw	r28, r28
 222:	e4 02       	muls	r30, r20
 224:	ee 01       	movw	r28, r28
 226:	10 03       	mulsu	r17, r16
 228:	ee 01       	movw	r28, r28
 22a:	e4 02       	muls	r30, r20
 22c:	ee 01       	movw	r28, r28
 22e:	ee 01       	movw	r28, r28
 230:	e4 02       	muls	r30, r20
 232:	ee 01       	movw	r28, r28
 234:	ee 01       	movw	r28, r28
 236:	e4 02       	muls	r30, r20
 238:	ee 01       	movw	r28, r28
 23a:	10 03       	mulsu	r17, r16
 23c:	ee 01       	movw	r28, r28
 23e:	e4 02       	muls	r30, r20
 240:	ee 01       	movw	r28, r28
 242:	ee 01       	movw	r28, r28
 244:	e4 02       	muls	r30, r20
 246:	ee 01       	movw	r28, r28
 248:	ee 01       	movw	r28, r28
 24a:	e4 02       	muls	r30, r20
 24c:	ee 01       	movw	r28, r28
 24e:	10 03       	mulsu	r17, r16
 250:	ee 01       	movw	r28, r28
 252:	e4 02       	muls	r30, r20
 254:	ee 01       	movw	r28, r28
 256:	ee 01       	movw	r28, r28
 258:	e4 02       	muls	r30, r20
 25a:	ee 01       	movw	r28, r28
 25c:	ee 01       	movw	r28, r28
 25e:	e4 02       	muls	r30, r20
 260:	ee 01       	movw	r28, r28
 262:	10 03       	mulsu	r17, r16
 264:	ee 01       	movw	r28, r28

00000266 <port_to_mode_PGM>:
 266:	00 00 3a 00 37 00                                   ..:.7.

0000026c <port_to_output_PGM>:
 26c:	00 00 3b 00 38 00                                   ..;.8.

00000272 <digital_pin_to_port_PGM>:
 272:	01 01 01 01 01 01 01 01 02 02 02 02                 ............

0000027e <digital_pin_to_bit_mask_PGM>:
 27e:	01 02 04 08 10 20 40 80 04 02 01 08                 ..... @.....

0000028a <digital_pin_to_timer_PGM>:
 28a:	00 00 00 00 00 04 03 02 01 00 00 00                 ............

00000296 <__ctors_end>:
__dtors_end():
 296:	11 24       	eor	r1, r1
 298:	1f be       	out	0x3f, r1	; 63
 29a:	cf e5       	ldi	r28, 0x5F	; 95
 29c:	d2 e0       	ldi	r29, 0x02	; 2
 29e:	de bf       	out	0x3e, r29	; 62
 2a0:	cd bf       	out	0x3d, r28	; 61

000002a2 <__do_copy_data>:
__do_copy_data():
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:2409
 2a2:	10 e0       	ldi	r17, 0x00	; 0
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:2410
 2a4:	a0 e6       	ldi	r26, 0x60	; 96
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:2411
 2a6:	b0 e0       	ldi	r27, 0x00	; 0
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:2412
 2a8:	e4 e1       	ldi	r30, 0x14	; 20
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:2413
 2aa:	f9 e0       	ldi	r31, 0x09	; 9
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:2414
 2ac:	02 c0       	rjmp	.+4      	; 0x2b2 <__do_copy_data+0x10>
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:2417
 2ae:	05 90       	lpm	r0, Z+
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:2422
 2b0:	0d 92       	st	X+, r0
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:2424
 2b2:	aa 36       	cpi	r26, 0x6A	; 106
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:2425
 2b4:	b1 07       	cpc	r27, r17
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:2426
 2b6:	d9 f7       	brne	.-10     	; 0x2ae <__do_copy_data+0xc>

000002b8 <__do_clear_bss>:
__do_clear_bss():
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:2441
 2b8:	20 e0       	ldi	r18, 0x00	; 0
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:2442
 2ba:	aa e6       	ldi	r26, 0x6A	; 106
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:2443
 2bc:	b0 e0       	ldi	r27, 0x00	; 0
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:2444
 2be:	01 c0       	rjmp	.+2      	; 0x2c2 <.do_clear_bss_start>

000002c0 <.do_clear_bss_loop>:
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:2446
 2c0:	1d 92       	st	X+, r1

000002c2 <.do_clear_bss_start>:
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:2448
 2c2:	ab 38       	cpi	r26, 0x8B	; 139
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:2449
 2c4:	b2 07       	cpc	r27, r18
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:2450
 2c6:	e1 f7       	brne	.-8      	; 0x2c0 <.do_clear_bss_loop>
.do_clear_bss_start():
 2c8:	52 d1       	rcall	.+676    	; 0x56e <main>
 2ca:	22 c3       	rjmp	.+1604   	; 0x910 <_exit>

000002cc <__bad_interrupt>:
__vector_1():
 2cc:	99 ce       	rjmp	.-718    	; 0x0 <__vectors>

000002ce <noTone(unsigned char)>:
_Z6noToneh():
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:540
}


void noTone( uint8_t _pin )
{
  if ( (tone_pin != 255)
 2ce:	90 91 60 00 	lds	r25, 0x0060	; 0x800060 <__DATA_REGION_ORIGIN__>
 2d2:	9f 3f       	cpi	r25, 0xFF	; 255
 2d4:	29 f1       	breq	.+74     	; 0x320 <noTone(unsigned char)+0x52>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:541
        && ((tone_pin == _pin) || (_pin == 255)) )
 2d6:	98 17       	cp	r25, r24
 2d8:	11 f0       	breq	.+4      	; 0x2de <noTone(unsigned char)+0x10>
 2da:	8f 3f       	cpi	r24, 0xFF	; 255
 2dc:	09 f5       	brne	.+66     	; 0x320 <noTone(unsigned char)+0x52>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:555
        #else
          TIMSK &= ~((1<<TOIE1) | (1<<OCIE1A) | (1<<OCIE1B));
        #endif
      #else
        #if defined(ICIE1)
          TIMSK1 &= ~((1<<ICIE1) | (1<<OCIE1B) | (1<<OCIE1A) | (1<<TOIE1));
 2de:	8c b1       	in	r24, 0x0c	; 12
 2e0:	88 7d       	andi	r24, 0xD8	; 216
 2e2:	8c b9       	out	0x0c, r24	; 12
initToneTimer():
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:914
    // Clear the Timer1 interrupt flags
    TIFR = ((1<<TOV1) | (1<<OCF1A) | (1<<OCF1B) | (1<<OCF1D));
  #elif (TIMER_TO_USE_FOR_TONE == 1)
    // Normal, well-behaved 16-bit Timer 1.
    // Turn off Input Capture Noise Canceler, Input Capture Edge Select on Falling, stop the clock
    TCCR1B = (0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) | (0<<CS10);
 2e4:	1e bc       	out	0x2e, r1	; 46
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:917
    // TCCR1B=0; But above is compile time known, so optimized out, and will fail if
    // Disconnect the timer from the output pins, Set Waveform Generation Mode to Normal
    TCCR1A = (0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (0<<WGM10);
 2e6:	1f bc       	out	0x2f, r1	; 47
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:920
    // TCCR1A = 0, same logic as above
    // Reset the count to zero
    TCNT1 = 0;
 2e8:	1d bc       	out	0x2d, r1	; 45
 2ea:	1c bc       	out	0x2c, r1	; 44
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:922
    // Set the output compare registers to zero
    OCR1A = 0;
 2ec:	1b bc       	out	0x2b, r1	; 43
 2ee:	1a bc       	out	0x2a, r1	; 42
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:923
    OCR1B = 0;
 2f0:	19 bc       	out	0x29, r1	; 41
 2f2:	18 bc       	out	0x28, r1	; 40
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:931
    TIMSK &= ~((1<<TOIE1) | (1<<OCIE1A) | (1<<OCIE1B) | (1<<ICIE1));
    // Clear the Timer1 interrupt flags
    TIFR = ((1<<TOV1) | (1<<OCF1A) | (1<<OCF1B) | (1<<ICF1));
    #elif defined(TIMSK1)
    // Disable all Timer1 interrupts
    TIMSK1 = 0; //~((1<<TOIE1) | (1<<OCIE1A) | (1<<OCIE1B) | (1<<ICIE1));
 2f4:	1c b8       	out	0x0c, r1	; 12
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:933
    // Clear the Timer1 interrupt flags
    TIFR1 = ((1<<TOV1) | (1<<OCF1A) | (1<<OCF1B) | (1<<ICF1));
 2f6:	87 e2       	ldi	r24, 0x27	; 39
 2f8:	8b b9       	out	0x0b, r24	; 11
initToneTimerInternal():
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:972
    #elif (TIMER_TO_USE_FOR_TONE == 1 ) && defined(__AVR_ATtinyX7__)
      TCCR1A = (1<<COM1A1)|(1<<COM1B1)|(1<<WGM10);
      TCCR1B = (ToneTimer_Prescale_Index << CS10);
    #elif (TIMER_TO_USE_FOR_TONE == 1) // x4, x8, x313,
      // Use the Tone Timer for phase correct PWM
      TCCR1A = (1<<WGM10);
 2fa:	81 e0       	ldi	r24, 0x01	; 1
 2fc:	8f bd       	out	0x2f, r24	; 47
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:973
      TCCR1B = (0<<WGM12) | (0<<WGM13) | (ToneTimer_Prescale_Index << CS10); //set the clock
 2fe:	83 e0       	ldi	r24, 0x03	; 3
 300:	8e bd       	out	0x2e, r24	; 46
_Z6noToneh():
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:570
      #endif
    #endif
    // Reinitialize the timers
    initToneTimer();
    // Set the output low
    if ( tone_timer_pin_register != NULL )
 302:	e0 91 6f 00 	lds	r30, 0x006F	; 0x80006f <tone_timer_pin_register>
 306:	f0 91 70 00 	lds	r31, 0x0070	; 0x800070 <tone_timer_pin_register+0x1>
 30a:	30 97       	sbiw	r30, 0x00	; 0
 30c:	31 f0       	breq	.+12     	; 0x31a <noTone(unsigned char)+0x4c>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:572
    {
      *tone_timer_pin_register &= ~(tone_timer_pin_mask);
 30e:	80 91 6e 00 	lds	r24, 0x006E	; 0x80006e <tone_timer_pin_mask>
 312:	90 81       	ld	r25, Z
 314:	80 95       	com	r24
 316:	89 23       	and	r24, r25
 318:	80 83       	st	Z, r24
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:574
    }
    tone_pin = 255;
 31a:	8f ef       	ldi	r24, 0xFF	; 255
 31c:	80 93 60 00 	sts	0x0060, r24	; 0x800060 <__DATA_REGION_ORIGIN__>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:576
  }
}
 320:	08 95       	ret

00000322 <digitalWrite>:
digitalWrite():
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:139
}

void digitalWrite(uint8_t pin, uint8_t val)
{
  if (pin&128) {pin=analogInputToDigitalPin((pin&127));}
  uint8_t timer = digitalPinToTimer(pin);
 322:	90 e0       	ldi	r25, 0x00	; 0
 324:	fc 01       	movw	r30, r24
 326:	e6 57       	subi	r30, 0x76	; 118
 328:	fd 4f       	sbci	r31, 0xFD	; 253
 32a:	34 91       	lpm	r19, Z
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:140
  uint8_t bit = digitalPinToBitMask(pin);
 32c:	fc 01       	movw	r30, r24
 32e:	e2 58       	subi	r30, 0x82	; 130
 330:	fd 4f       	sbci	r31, 0xFD	; 253
 332:	24 91       	lpm	r18, Z
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:141
  uint8_t port = digitalPinToPort(pin);
 334:	fc 01       	movw	r30, r24
 336:	ee 58       	subi	r30, 0x8E	; 142
 338:	fd 4f       	sbci	r31, 0xFD	; 253
 33a:	e4 91       	lpm	r30, Z
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:144
  volatile uint8_t *out;

  if (port == NOT_A_PIN) return;
 33c:	ee 23       	and	r30, r30
 33e:	b9 f0       	breq	.+46     	; 0x36e <digitalWrite+0x4c>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:148

  // If the pin that support PWM output, we need to turn it off
  // before doing a digital write.
  if (timer != NOT_ON_TIMER) turnOffPWM(timer);
 340:	33 23       	and	r19, r19
 342:	29 f0       	breq	.+10     	; 0x34e <digitalWrite+0x2c>
turnOffPWM():
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:67
}

static void turnOffPWM(uint8_t timer)
{
  #if defined(TCCR0A) && defined(COM0A1)
    if( timer == TIMER0A){
 344:	31 30       	cpi	r19, 0x01	; 1
 346:	a1 f4       	brne	.+40     	; 0x370 <digitalWrite+0x4e>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:68
      cbi(TCCR0A, COM0A1);
 348:	80 b7       	in	r24, 0x30	; 48
 34a:	8f 77       	andi	r24, 0x7F	; 127
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:74
      //cbi(TCCR0A, COM0A0);
    } else
  #endif
  #if defined(TCCR0A) && defined(COM0B1)
    if( timer == TIMER0B){
      cbi(TCCR0A, COM0B1);
 34c:	80 bf       	out	0x30, r24	; 48
digitalWrite():
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:150

  // If the pin that support PWM output, we need to turn it off
  // before doing a digital write.
  if (timer != NOT_ON_TIMER) turnOffPWM(timer);

  out = portOutputRegister(port);
 34e:	f0 e0       	ldi	r31, 0x00	; 0
 350:	ee 0f       	add	r30, r30
 352:	ff 1f       	adc	r31, r31
 354:	e4 59       	subi	r30, 0x94	; 148
 356:	fd 4f       	sbci	r31, 0xFD	; 253
 358:	a5 91       	lpm	r26, Z+
 35a:	b4 91       	lpm	r27, Z
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:153

  if (val == LOW) {
    uint8_t oldSREG = SREG;
 35c:	8f b7       	in	r24, 0x3f	; 63
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:152
  // before doing a digital write.
  if (timer != NOT_ON_TIMER) turnOffPWM(timer);

  out = portOutputRegister(port);

  if (val == LOW) {
 35e:	61 11       	cpse	r22, r1
 360:	17 c0       	rjmp	.+46     	; 0x390 <digitalWrite+0x6e>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:154
    uint8_t oldSREG = SREG;
    cli();
 362:	f8 94       	cli
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:155
    *out &= ~bit;
 364:	ec 91       	ld	r30, X
 366:	20 95       	com	r18
 368:	2e 23       	and	r18, r30
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:160
    SREG = oldSREG;
  } else {
    uint8_t oldSREG = SREG;
    cli();
    *out |= bit;
 36a:	2c 93       	st	X, r18
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:161
    SREG = oldSREG;
 36c:	8f bf       	out	0x3f, r24	; 63
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:163
  }
}
 36e:	08 95       	ret
turnOffPWM():
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:73
      cbi(TCCR0A, COM0A1);
      //cbi(TCCR0A, COM0A0);
    } else
  #endif
  #if defined(TCCR0A) && defined(COM0B1)
    if( timer == TIMER0B){
 370:	32 30       	cpi	r19, 0x02	; 2
 372:	19 f4       	brne	.+6      	; 0x37a <digitalWrite+0x58>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:74
      cbi(TCCR0A, COM0B1);
 374:	80 b7       	in	r24, 0x30	; 48
 376:	8f 7d       	andi	r24, 0xDF	; 223
 378:	e9 cf       	rjmp	.-46     	; 0x34c <digitalWrite+0x2a>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:118
        GTCCR &= ~(1<<COM1B1);
        //cbi(GTCCR, COM1B1);
      } else
    #endif
    #if defined(TCCR1A) && defined(COM1A1) // civilized parts
      if( timer == TIMER1A){
 37a:	33 30       	cpi	r19, 0x03	; 3
 37c:	21 f4       	brne	.+8      	; 0x386 <digitalWrite+0x64>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:119
        TCCR1A &= ~(1<<COM1A1);
 37e:	8f b5       	in	r24, 0x2f	; 47
 380:	8f 77       	andi	r24, 0x7F	; 127
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:126
      } else
    #endif

    #if defined(TCCR1A) && defined(COM1B1) // civilized parts
      if( timer == TIMER1B){
        TCCR1A &= ~(1<<COM1B1);
 382:	8f bd       	out	0x2f, r24	; 47
 384:	e4 cf       	rjmp	.-56     	; 0x34e <digitalWrite+0x2c>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:125
        //cbi(TCCR1A, COM1A0);
      } else
    #endif

    #if defined(TCCR1A) && defined(COM1B1) // civilized parts
      if( timer == TIMER1B){
 386:	34 30       	cpi	r19, 0x04	; 4
 388:	11 f7       	brne	.-60     	; 0x34e <digitalWrite+0x2c>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:126
        TCCR1A &= ~(1<<COM1B1);
 38a:	8f b5       	in	r24, 0x2f	; 47
 38c:	8f 7d       	andi	r24, 0xDF	; 223
 38e:	f9 cf       	rjmp	.-14     	; 0x382 <digitalWrite+0x60>
digitalWrite():
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:159
    cli();
    *out &= ~bit;
    SREG = oldSREG;
  } else {
    uint8_t oldSREG = SREG;
    cli();
 390:	f8 94       	cli
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:160
    *out |= bit;
 392:	ec 91       	ld	r30, X
 394:	2e 2b       	or	r18, r30
 396:	e9 cf       	rjmp	.-46     	; 0x36a <digitalWrite+0x48>

00000398 <stopTheMelody()>:
_Z13stopTheMelodyv():
/home/coder/ArduinoIRC/tommy/tommy.ino:96
  sleep_cpu();
}

void stopTheMelody()
{
  noTone(buzzerPin);
 398:	81 e0       	ldi	r24, 0x01	; 1
 39a:	99 df       	rcall	.-206    	; 0x2ce <noTone(unsigned char)>
/home/coder/ArduinoIRC/tommy/tommy.ino:97
  toneOn = false;
 39c:	10 92 7b 00 	sts	0x007B, r1	; 0x80007b <toneOn>
/home/coder/ArduinoIRC/tommy/tommy.ino:98
  digitalWrite(led1, toneOn);
 3a0:	60 e0       	ldi	r22, 0x00	; 0
 3a2:	87 e0       	ldi	r24, 0x07	; 7
 3a4:	be df       	rcall	.-132    	; 0x322 <digitalWrite>
/home/coder/ArduinoIRC/tommy/tommy.ino:99
  digitalWrite(led2, toneOn);  
 3a6:	60 e0       	ldi	r22, 0x00	; 0
 3a8:	88 e0       	ldi	r24, 0x08	; 8
 3aa:	bb cf       	rjmp	.-138    	; 0x322 <digitalWrite>

000003ac <pinMode>:
pinMode():
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:33
#define ARDUINO_MAIN
#include "wiring_private.h"
#include "pins_arduino.h"

void pinMode(uint8_t pin, uint8_t mode)
{
 3ac:	cf 93       	push	r28
 3ae:	df 93       	push	r29
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:35
  if (pin&128) {pin=analogInputToDigitalPin((pin&127));}
  uint8_t bit = digitalPinToBitMask(pin);
 3b0:	90 e0       	ldi	r25, 0x00	; 0
 3b2:	fc 01       	movw	r30, r24
 3b4:	e2 58       	subi	r30, 0x82	; 130
 3b6:	fd 4f       	sbci	r31, 0xFD	; 253
 3b8:	24 91       	lpm	r18, Z
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:36
  uint8_t port = digitalPinToPort(pin);
 3ba:	8e 58       	subi	r24, 0x8E	; 142
 3bc:	9d 4f       	sbci	r25, 0xFD	; 253
 3be:	fc 01       	movw	r30, r24
 3c0:	84 91       	lpm	r24, Z
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:39
  volatile uint8_t *reg, *out;

  if (port == NOT_A_PIN) return;
 3c2:	88 23       	and	r24, r24
 3c4:	d1 f0       	breq	.+52     	; 0x3fa <pinMode+0x4e>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:41

  reg = portModeRegister(port);
 3c6:	90 e0       	ldi	r25, 0x00	; 0
 3c8:	88 0f       	add	r24, r24
 3ca:	99 1f       	adc	r25, r25
 3cc:	fc 01       	movw	r30, r24
 3ce:	ea 59       	subi	r30, 0x9A	; 154
 3d0:	fd 4f       	sbci	r31, 0xFD	; 253
 3d2:	a5 91       	lpm	r26, Z+
 3d4:	b4 91       	lpm	r27, Z
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:42
  out = portOutputRegister(port);
 3d6:	fc 01       	movw	r30, r24
 3d8:	e4 59       	subi	r30, 0x94	; 148
 3da:	fd 4f       	sbci	r31, 0xFD	; 253
 3dc:	c5 91       	lpm	r28, Z+
 3de:	d4 91       	lpm	r29, Z
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:50
    uint8_t oldSREG = SREG;
                cli();
    *reg &= ~bit;
    *out &= ~bit;
    SREG = oldSREG;
  } else if (mode == INPUT_PULLUP) {
 3e0:	62 30       	cpi	r22, 0x02	; 2
 3e2:	71 f4       	brne	.+28     	; 0x400 <__LOCK_REGION_LENGTH__>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:51
    uint8_t oldSREG = SREG;
 3e4:	9f b7       	in	r25, 0x3f	; 63
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:52
                cli();
 3e6:	f8 94       	cli
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:53
    *reg &= ~bit;
 3e8:	3c 91       	ld	r19, X
 3ea:	82 2f       	mov	r24, r18
 3ec:	80 95       	com	r24
 3ee:	83 23       	and	r24, r19
 3f0:	8c 93       	st	X, r24
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:54
    *out |= bit;
 3f2:	e8 81       	ld	r30, Y
 3f4:	2e 2b       	or	r18, r30
 3f6:	28 83       	st	Y, r18
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:55
    SREG = oldSREG;
 3f8:	9f bf       	out	0x3f, r25	; 63
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:62
    uint8_t oldSREG = SREG;
                cli();
    *reg |= bit;
    SREG = oldSREG;
  }
}
 3fa:	df 91       	pop	r29
 3fc:	cf 91       	pop	r28
 3fe:	08 95       	ret
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:57
                cli();
    *reg &= ~bit;
    *out |= bit;
    SREG = oldSREG;
  } else {
    uint8_t oldSREG = SREG;
 400:	8f b7       	in	r24, 0x3f	; 63
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:58
                cli();
 402:	f8 94       	cli
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:59
    *reg |= bit;
 404:	ec 91       	ld	r30, X
 406:	2e 2b       	or	r18, r30
 408:	2c 93       	st	X, r18
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:60
    SREG = oldSREG;
 40a:	8f bf       	out	0x3f, r24	; 63
 40c:	f6 cf       	rjmp	.-20     	; 0x3fa <pinMode+0x4e>

0000040e <__vector_11>:
__vector_11():
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:308
      #error "cannot find Millis() timer overflow vector"
    #endif
  #else
    #error "Millis() timer not defined!"
  #endif
  {
 40e:	1f 92       	push	r1
 410:	0f 92       	push	r0
 412:	0f b6       	in	r0, 0x3f	; 63
 414:	0f 92       	push	r0
 416:	11 24       	eor	r1, r1
 418:	2f 93       	push	r18
 41a:	3f 93       	push	r19
 41c:	8f 93       	push	r24
 41e:	9f 93       	push	r25
 420:	af 93       	push	r26
 422:	bf 93       	push	r27
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:311
    // copy these to local variables so they can be stored in registers
    // (volatile variables must be read from memory on every access)
    unsigned long m = millis_timer_millis;
 424:	80 91 87 00 	lds	r24, 0x0087	; 0x800087 <millis_timer_millis>
 428:	90 91 88 00 	lds	r25, 0x0088	; 0x800088 <millis_timer_millis+0x1>
 42c:	a0 91 89 00 	lds	r26, 0x0089	; 0x800089 <millis_timer_millis+0x2>
 430:	b0 91 8a 00 	lds	r27, 0x008A	; 0x80008a <millis_timer_millis+0x3>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:312
    unsigned char f = millis_timer_fract;
 434:	30 91 86 00 	lds	r19, 0x0086	; 0x800086 <millis_timer_fract>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:319
    static unsigned char correct_exact = 0;     // rollover intended
    if (++correct_exact < CORRECT_EXACT_MANY) {
      ++f;
    }
#endif
    f += FRACT_INC;
 438:	26 e0       	ldi	r18, 0x06	; 6
 43a:	23 0f       	add	r18, r19
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:321

    if (f >= FRACT_MAX)
 43c:	2d 37       	cpi	r18, 0x7D	; 125
 43e:	68 f1       	brcs	.+90     	; 0x49a <__vector_11+0x8c>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:323
    {
      f -= FRACT_MAX;
 440:	29 e8       	ldi	r18, 0x89	; 137
 442:	23 0f       	add	r18, r19
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:324
      m += MILLIS_INC + 1;
 444:	03 96       	adiw	r24, 0x03	; 3
 446:	a1 1d       	adc	r26, r1
 448:	b1 1d       	adc	r27, r1
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:331
    else
    {
      m += MILLIS_INC;
    }

    millis_timer_fract = f;
 44a:	20 93 86 00 	sts	0x0086, r18	; 0x800086 <millis_timer_fract>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:332
    millis_timer_millis = m;
 44e:	80 93 87 00 	sts	0x0087, r24	; 0x800087 <millis_timer_millis>
 452:	90 93 88 00 	sts	0x0088, r25	; 0x800088 <millis_timer_millis+0x1>
 456:	a0 93 89 00 	sts	0x0089, r26	; 0x800089 <millis_timer_millis+0x2>
 45a:	b0 93 8a 00 	sts	0x008A, r27	; 0x80008a <millis_timer_millis+0x3>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:334
#ifndef CORRECT_EXACT_MICROS
    millis_timer_overflow_count++;
 45e:	80 91 82 00 	lds	r24, 0x0082	; 0x800082 <millis_timer_overflow_count>
 462:	90 91 83 00 	lds	r25, 0x0083	; 0x800083 <millis_timer_overflow_count+0x1>
 466:	a0 91 84 00 	lds	r26, 0x0084	; 0x800084 <millis_timer_overflow_count+0x2>
 46a:	b0 91 85 00 	lds	r27, 0x0085	; 0x800085 <millis_timer_overflow_count+0x3>
 46e:	01 96       	adiw	r24, 0x01	; 1
 470:	a1 1d       	adc	r26, r1
 472:	b1 1d       	adc	r27, r1
 474:	80 93 82 00 	sts	0x0082, r24	; 0x800082 <millis_timer_overflow_count>
 478:	90 93 83 00 	sts	0x0083, r25	; 0x800083 <millis_timer_overflow_count+0x1>
 47c:	a0 93 84 00 	sts	0x0084, r26	; 0x800084 <millis_timer_overflow_count+0x2>
 480:	b0 93 85 00 	sts	0x0085, r27	; 0x800085 <millis_timer_overflow_count+0x3>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:336
#endif
  }
 484:	bf 91       	pop	r27
 486:	af 91       	pop	r26
 488:	9f 91       	pop	r25
 48a:	8f 91       	pop	r24
 48c:	3f 91       	pop	r19
 48e:	2f 91       	pop	r18
 490:	0f 90       	pop	r0
 492:	0f be       	out	0x3f, r0	; 63
 494:	0f 90       	pop	r0
 496:	1f 90       	pop	r1
 498:	18 95       	reti
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:328
      f -= FRACT_MAX;
      m += MILLIS_INC + 1;
    }
    else
    {
      m += MILLIS_INC;
 49a:	02 96       	adiw	r24, 0x02	; 2
 49c:	a1 1d       	adc	r26, r1
 49e:	b1 1d       	adc	r27, r1
 4a0:	d4 cf       	rjmp	.-88     	; 0x44a <__vector_11+0x3c>

000004a2 <__vector_6>:
__vector_6():
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:586
#elif (TIMER_TO_USE_FOR_TONE == 1)
  ISR(TIMER1_COMPA_vect)
#else
  #error Tone timer Overflow vector not defined!
#endif
{
 4a2:	1f 92       	push	r1
 4a4:	0f 92       	push	r0
 4a6:	0f b6       	in	r0, 0x3f	; 63
 4a8:	0f 92       	push	r0
 4aa:	11 24       	eor	r1, r1
 4ac:	2f 93       	push	r18
 4ae:	3f 93       	push	r19
 4b0:	4f 93       	push	r20
 4b2:	5f 93       	push	r21
 4b4:	6f 93       	push	r22
 4b6:	7f 93       	push	r23
 4b8:	8f 93       	push	r24
 4ba:	9f 93       	push	r25
 4bc:	af 93       	push	r26
 4be:	bf 93       	push	r27
 4c0:	ef 93       	push	r30
 4c2:	ff 93       	push	r31
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:587
  if ( tone_timer_toggle_count != 0 )
 4c4:	80 91 6a 00 	lds	r24, 0x006A	; 0x80006a <__data_end>
 4c8:	90 91 6b 00 	lds	r25, 0x006B	; 0x80006b <__data_end+0x1>
 4cc:	a0 91 6c 00 	lds	r26, 0x006C	; 0x80006c <__data_end+0x2>
 4d0:	b0 91 6d 00 	lds	r27, 0x006D	; 0x80006d <__data_end+0x3>
 4d4:	89 2b       	or	r24, r25
 4d6:	8a 2b       	or	r24, r26
 4d8:	8b 2b       	or	r24, r27
 4da:	61 f1       	breq	.+88     	; 0x534 <__vector_6+0x92>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:589
  {
    if ( tone_timer_toggle_count > 0 )
 4dc:	80 91 6a 00 	lds	r24, 0x006A	; 0x80006a <__data_end>
 4e0:	90 91 6b 00 	lds	r25, 0x006B	; 0x80006b <__data_end+0x1>
 4e4:	a0 91 6c 00 	lds	r26, 0x006C	; 0x80006c <__data_end+0x2>
 4e8:	b0 91 6d 00 	lds	r27, 0x006D	; 0x80006d <__data_end+0x3>
 4ec:	18 16       	cp	r1, r24
 4ee:	19 06       	cpc	r1, r25
 4f0:	1a 06       	cpc	r1, r26
 4f2:	1b 06       	cpc	r1, r27
 4f4:	94 f5       	brge	.+100    	; 0x55a <__vector_6+0xb8>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:591
    {
      --tone_timer_toggle_count;
 4f6:	80 91 6a 00 	lds	r24, 0x006A	; 0x80006a <__data_end>
 4fa:	90 91 6b 00 	lds	r25, 0x006B	; 0x80006b <__data_end+0x1>
 4fe:	a0 91 6c 00 	lds	r26, 0x006C	; 0x80006c <__data_end+0x2>
 502:	b0 91 6d 00 	lds	r27, 0x006D	; 0x80006d <__data_end+0x3>
 506:	01 97       	sbiw	r24, 0x01	; 1
 508:	a1 09       	sbc	r26, r1
 50a:	b1 09       	sbc	r27, r1
 50c:	80 93 6a 00 	sts	0x006A, r24	; 0x80006a <__data_end>
 510:	90 93 6b 00 	sts	0x006B, r25	; 0x80006b <__data_end+0x1>
 514:	a0 93 6c 00 	sts	0x006C, r26	; 0x80006c <__data_end+0x2>
 518:	b0 93 6d 00 	sts	0x006D, r27	; 0x80006d <__data_end+0x3>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:593

      if ( tone_timer_toggle_count == 0 )
 51c:	80 91 6a 00 	lds	r24, 0x006A	; 0x80006a <__data_end>
 520:	90 91 6b 00 	lds	r25, 0x006B	; 0x80006b <__data_end+0x1>
 524:	a0 91 6c 00 	lds	r26, 0x006C	; 0x80006c <__data_end+0x2>
 528:	b0 91 6d 00 	lds	r27, 0x006D	; 0x80006d <__data_end+0x3>
 52c:	89 2b       	or	r24, r25
 52e:	8a 2b       	or	r24, r26
 530:	8b 2b       	or	r24, r27
 532:	99 f4       	brne	.+38     	; 0x55a <__vector_6+0xb8>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:596
      {
        // Shutdown the hardware
        noTone( 255 );
 534:	8f ef       	ldi	r24, 0xFF	; 255
 536:	cb de       	rcall	.-618    	; 0x2ce <noTone(unsigned char)>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:609
  else
  {
    // Shutdown the hardware
    noTone( 255 );
  }
}
 538:	ff 91       	pop	r31
 53a:	ef 91       	pop	r30
 53c:	bf 91       	pop	r27
 53e:	af 91       	pop	r26
 540:	9f 91       	pop	r25
 542:	8f 91       	pop	r24
 544:	7f 91       	pop	r23
 546:	6f 91       	pop	r22
 548:	5f 91       	pop	r21
 54a:	4f 91       	pop	r20
 54c:	3f 91       	pop	r19
 54e:	2f 91       	pop	r18
 550:	0f 90       	pop	r0
 552:	0f be       	out	0x3f, r0	; 63
 554:	0f 90       	pop	r0
 556:	1f 90       	pop	r1
 558:	18 95       	reti
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:602

        // Skip the rest.  We're finished.
        return;
      }
    }
    *tone_timer_pin_register ^= tone_timer_pin_mask;
 55a:	90 91 6e 00 	lds	r25, 0x006E	; 0x80006e <tone_timer_pin_mask>
 55e:	e0 91 6f 00 	lds	r30, 0x006F	; 0x80006f <tone_timer_pin_register>
 562:	f0 91 70 00 	lds	r31, 0x0070	; 0x800070 <tone_timer_pin_register+0x1>
 566:	80 81       	ld	r24, Z
 568:	89 27       	eor	r24, r25
 56a:	80 83       	st	Z, r24
 56c:	e5 cf       	rjmp	.-54     	; 0x538 <__vector_6+0x96>

0000056e <main>:
main():
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:1138
*/

  // Use the Millis Timer for fast PWM (unless it doesn't have an output).
  #if (TIMER_TO_USE_FOR_MILLIS == 0)
    #if defined(WGM01) // if Timer0 has PWM
      TCCR0A = (1<<WGM01) | (1<<WGM00);
 56e:	83 e0       	ldi	r24, 0x03	; 3
 570:	80 bf       	out	0x30, r24	; 48
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:1141
    #endif
    #if defined(TCCR0B) //The x61 has a wacky Timer0!
      TCCR0B = (MillisTimer_Prescale_Index << CS00);
 572:	83 bf       	out	0x33, r24	; 51
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:1162
    TCCR1A = 1<<WGM10;
    TCCR1B = (1<<WGM12) | (MillisTimer_Prescale_Index << CS10);
  #endif

  // this needs to be called before setup() or some functions won't work there
  sei();
 574:	78 94       	sei
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:1169
  #ifndef DISABLEMILLIS
    // Enable the overflow interrupt (this is the basic system tic-toc for millis)
    #if defined(TIMSK) && defined(TOIE0) && (TIMER_TO_USE_FOR_MILLIS == 0)
      sbi(TIMSK, TOIE0);
    #elif defined(TIMSK0) && defined(TOIE0) && (TIMER_TO_USE_FOR_MILLIS == 0)
      sbi(TIMSK0, TOIE0);
 576:	99 b7       	in	r25, 0x39	; 57
 578:	91 60       	ori	r25, 0x01	; 1
 57a:	99 bf       	out	0x39, r25	; 57
initToneTimerInternal():
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:972
    #elif (TIMER_TO_USE_FOR_TONE == 1 ) && defined(__AVR_ATtinyX7__)
      TCCR1A = (1<<COM1A1)|(1<<COM1B1)|(1<<WGM10);
      TCCR1B = (ToneTimer_Prescale_Index << CS10);
    #elif (TIMER_TO_USE_FOR_TONE == 1) // x4, x8, x313,
      // Use the Tone Timer for phase correct PWM
      TCCR1A = (1<<WGM10);
 57c:	91 e0       	ldi	r25, 0x01	; 1
 57e:	9f bd       	out	0x2f, r25	; 47
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:973
      TCCR1B = (0<<WGM12) | (0<<WGM13) | (ToneTimer_Prescale_Index << CS10); //set the clock
 580:	8e bd       	out	0x2e, r24	; 46
main():
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:1214
  #if defined( INITIALIZE_ANALOG_TO_DIGITAL_CONVERTER ) && INITIALIZE_ANALOG_TO_DIGITAL_CONVERTER
    #if defined(ADCSRA)
      // set a2d prescale factor
      // ADCSRA = (ADCSRA & ~((1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0))) | (ADC_ARDUINO_PRESCALER << ADPS0) | (1<<ADEN);
      // dude, this is being called on startup. We know that ADCSRA is 0! Why add a RMW cycle?!
      ADCSRA = (ADC_ARDUINO_PRESCALER << ADPS0) | (1<<ADEN);
 582:	86 e8       	ldi	r24, 0x86	; 134
 584:	86 b9       	out	0x06, r24	; 6
setup():
/home/coder/ArduinoIRC/tommy/tommy.ino:76
volatile bool playModeChangeRequested = false;
volatile unsigned long lastDebouncingMillis = 0;

void setup()
{
  pinMode(buttonPin, INPUT_PULLUP);
 586:	62 e0       	ldi	r22, 0x02	; 2
 588:	8a e0       	ldi	r24, 0x0A	; 10
 58a:	10 df       	rcall	.-480    	; 0x3ac <pinMode>
/home/coder/ArduinoIRC/tommy/tommy.ino:77
  pinMode(led1, OUTPUT);
 58c:	61 e0       	ldi	r22, 0x01	; 1
 58e:	87 e0       	ldi	r24, 0x07	; 7
 590:	0d df       	rcall	.-486    	; 0x3ac <pinMode>
/home/coder/ArduinoIRC/tommy/tommy.ino:78
  pinMode(led2, OUTPUT);
 592:	61 e0       	ldi	r22, 0x01	; 1
 594:	88 e0       	ldi	r24, 0x08	; 8
 596:	0a df       	rcall	.-492    	; 0x3ac <pinMode>
/home/coder/ArduinoIRC/tommy/tommy.ino:79
  pinMode(buzzerPin, OUTPUT);
 598:	61 e0       	ldi	r22, 0x01	; 1
 59a:	81 e0       	ldi	r24, 0x01	; 1
 59c:	07 df       	rcall	.-498    	; 0x3ac <pinMode>
/home/coder/ArduinoIRC/tommy/tommy.ino:82

  // paranoia setup
  playMelody = false;
 59e:	10 92 7c 00 	sts	0x007C, r1	; 0x80007c <playMelody>
/home/coder/ArduinoIRC/tommy/tommy.ino:83
  playModeChangeRequested = false;
 5a2:	10 92 7d 00 	sts	0x007D, r1	; 0x80007d <playModeChangeRequested>
/home/coder/ArduinoIRC/tommy/tommy.ino:84
  lastDebouncingMillis = 0;
 5a6:	10 92 7e 00 	sts	0x007E, r1	; 0x80007e <lastDebouncingMillis>
 5aa:	10 92 7f 00 	sts	0x007F, r1	; 0x80007f <lastDebouncingMillis+0x1>
 5ae:	10 92 80 00 	sts	0x0080, r1	; 0x800080 <lastDebouncingMillis+0x2>
 5b2:	10 92 81 00 	sts	0x0081, r1	; 0x800081 <lastDebouncingMillis+0x3>
/home/coder/ArduinoIRC/tommy/tommy.ino:88

  attachPCINT(digitalPinToPCINT(buttonPin), wakeUP, CHANGE);

  stopTheMelody();
 5b6:	f0 de       	rcall	.-544    	; 0x398 <stopTheMelody()>
/home/coder/ArduinoIRC/tommy/tommy.ino:89
  set_sleep_mode(SLEEP_MODE_PWR_DOWN);
 5b8:	85 b7       	in	r24, 0x35	; 53
 5ba:	87 7e       	andi	r24, 0xE7	; 231
 5bc:	80 61       	ori	r24, 0x10	; 16
 5be:	85 bf       	out	0x35, r24	; 53
/home/coder/ArduinoIRC/tommy/tommy.ino:90
  sleep_enable();
 5c0:	85 b7       	in	r24, 0x35	; 53
 5c2:	80 62       	ori	r24, 0x20	; 32
 5c4:	85 bf       	out	0x35, r24	; 53
/home/coder/ArduinoIRC/tommy/tommy.ino:91
  sleep_cpu();
 5c6:	88 95       	sleep
loop():
/home/coder/ArduinoIRC/tommy/tommy.ino:174
  {
    unsigned long tempMillis = millis();
    if((tempMillis - lastDebouncingMillis) > debounceDelay)
    {      
      playModeChangeRequested = false;
      playMelody = !playMelody;
 5c8:	d1 e0       	ldi	r29, 0x01	; 1
tone():
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:457
#endif
      }
      else
      {
        /* Indicate to the interrupt service routine that we'll be running until further notice */
        tone_timer_toggle_count = -1;
 5ca:	44 24       	eor	r4, r4
 5cc:	4a 94       	dec	r4
 5ce:	54 2c       	mov	r5, r4
 5d0:	32 01       	movw	r6, r4
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:299

     }
     else
     {
      /* Save information needed by the interrupt service routine */
      tone_timer_pin_register = portOutputRegister( digitalPinToPort( _pin ) );
 5d2:	3b e3       	ldi	r19, 0x3B	; 59
 5d4:	23 2e       	mov	r2, r19
 5d6:	31 2c       	mov	r3, r1
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:300
      tone_timer_pin_mask = digitalPinToBitMask( _pin );
 5d8:	12 e0       	ldi	r17, 0x02	; 2
loop():
/home/coder/ArduinoIRC/tommy/tommy.ino:162
}

void loop()
{
  
  if (lastDebouncingMillis==0 || digitalRead(buttonPin)==BUTTON_PRESSED)
 5da:	80 91 7e 00 	lds	r24, 0x007E	; 0x80007e <lastDebouncingMillis>
 5de:	90 91 7f 00 	lds	r25, 0x007F	; 0x80007f <lastDebouncingMillis+0x1>
 5e2:	a0 91 80 00 	lds	r26, 0x0080	; 0x800080 <lastDebouncingMillis+0x2>
 5e6:	b0 91 81 00 	lds	r27, 0x0081	; 0x800081 <lastDebouncingMillis+0x3>
 5ea:	89 2b       	or	r24, r25
 5ec:	8a 2b       	or	r24, r26
 5ee:	8b 2b       	or	r24, r27
 5f0:	11 f0       	breq	.+4      	; 0x5f6 <main+0x88>
digitalRead():
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring_digital.c:180
  // "read" should *NEVER* change the behavior of the thing you're using it on.
  // That's why it's called "read" not "write". As an added bonus, sets the
  // stage for auto-fast-digitalRead() for compile time known pins.
  // if (timer != NOT_ON_TIMER) turnOffPWM(timer);

  if (*portInputRegister(port) & bit) return HIGH;
 5f2:	b0 99       	sbic	0x16, 0	; 22
 5f4:	13 c0       	rjmp	.+38     	; 0x61c <main+0xae>
millis():
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:341
  }

  unsigned long millis()
  {
    unsigned long m;
    uint8_t oldSREG = SREG;
 5f6:	2f b7       	in	r18, 0x3f	; 63
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:345

    // disable interrupts while we read millis_timer_millis or we might get an
    // inconsistent value (e.g. in the middle of a write to millis_timer_millis)
    cli();
 5f8:	f8 94       	cli
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:346
    m = millis_timer_millis;
 5fa:	80 91 87 00 	lds	r24, 0x0087	; 0x800087 <millis_timer_millis>
 5fe:	90 91 88 00 	lds	r25, 0x0088	; 0x800088 <millis_timer_millis+0x1>
 602:	a0 91 89 00 	lds	r26, 0x0089	; 0x800089 <millis_timer_millis+0x2>
 606:	b0 91 8a 00 	lds	r27, 0x008A	; 0x80008a <millis_timer_millis+0x3>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:347
    SREG = oldSREG;
 60a:	2f bf       	out	0x3f, r18	; 63
loop():
/home/coder/ArduinoIRC/tommy/tommy.ino:165
  {

    lastDebouncingMillis = millis();
 60c:	80 93 7e 00 	sts	0x007E, r24	; 0x80007e <lastDebouncingMillis>
 610:	90 93 7f 00 	sts	0x007F, r25	; 0x80007f <lastDebouncingMillis+0x1>
 614:	a0 93 80 00 	sts	0x0080, r26	; 0x800080 <lastDebouncingMillis+0x2>
 618:	b0 93 81 00 	sts	0x0081, r27	; 0x800081 <lastDebouncingMillis+0x3>
/home/coder/ArduinoIRC/tommy/tommy.ino:168
  }  
  
  if (playModeChangeRequested) 
 61c:	80 91 7d 00 	lds	r24, 0x007D	; 0x80007d <playModeChangeRequested>
 620:	88 23       	and	r24, r24
 622:	89 f1       	breq	.+98     	; 0x686 <main+0x118>
millis():
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:341
  }

  unsigned long millis()
  {
    unsigned long m;
    uint8_t oldSREG = SREG;
 624:	2f b7       	in	r18, 0x3f	; 63
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:345

    // disable interrupts while we read millis_timer_millis or we might get an
    // inconsistent value (e.g. in the middle of a write to millis_timer_millis)
    cli();
 626:	f8 94       	cli
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:346
    m = millis_timer_millis;
 628:	80 91 87 00 	lds	r24, 0x0087	; 0x800087 <millis_timer_millis>
 62c:	90 91 88 00 	lds	r25, 0x0088	; 0x800088 <millis_timer_millis+0x1>
 630:	a0 91 89 00 	lds	r26, 0x0089	; 0x800089 <millis_timer_millis+0x2>
 634:	b0 91 8a 00 	lds	r27, 0x008A	; 0x80008a <millis_timer_millis+0x3>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:347
    SREG = oldSREG;
 638:	2f bf       	out	0x3f, r18	; 63
loop():
/home/coder/ArduinoIRC/tommy/tommy.ino:171
  {
    unsigned long tempMillis = millis();
    if((tempMillis - lastDebouncingMillis) > debounceDelay)
 63a:	40 91 7e 00 	lds	r20, 0x007E	; 0x80007e <lastDebouncingMillis>
 63e:	50 91 7f 00 	lds	r21, 0x007F	; 0x80007f <lastDebouncingMillis+0x1>
 642:	60 91 80 00 	lds	r22, 0x0080	; 0x800080 <lastDebouncingMillis+0x2>
 646:	70 91 81 00 	lds	r23, 0x0081	; 0x800081 <lastDebouncingMillis+0x3>
 64a:	84 1b       	sub	r24, r20
 64c:	95 0b       	sbc	r25, r21
 64e:	a6 0b       	sbc	r26, r22
 650:	b7 0b       	sbc	r27, r23
 652:	c3 97       	sbiw	r24, 0x33	; 51
 654:	a1 05       	cpc	r26, r1
 656:	b1 05       	cpc	r27, r1
 658:	b0 f0       	brcs	.+44     	; 0x686 <main+0x118>
/home/coder/ArduinoIRC/tommy/tommy.ino:173
    {      
      playModeChangeRequested = false;
 65a:	10 92 7d 00 	sts	0x007D, r1	; 0x80007d <playModeChangeRequested>
/home/coder/ArduinoIRC/tommy/tommy.ino:174
      playMelody = !playMelody;
 65e:	90 91 7c 00 	lds	r25, 0x007C	; 0x80007c <playMelody>
 662:	81 e0       	ldi	r24, 0x01	; 1
 664:	91 11       	cpse	r25, r1
 666:	80 e0       	ldi	r24, 0x00	; 0
 668:	80 93 7c 00 	sts	0x007C, r24	; 0x80007c <playMelody>
/home/coder/ArduinoIRC/tommy/tommy.ino:175
      if (!playMelody)
 66c:	80 91 7c 00 	lds	r24, 0x007C	; 0x80007c <playMelody>
 670:	81 11       	cpse	r24, r1
 672:	df c0       	rjmp	.+446    	; 0x832 <main+0x2c4>
/home/coder/ArduinoIRC/tommy/tommy.ino:178
      {
      
        stopTheMelody();
 674:	91 de       	rcall	.-734    	; 0x398 <stopTheMelody()>
/home/coder/ArduinoIRC/tommy/tommy.ino:179
        set_sleep_mode(SLEEP_MODE_PWR_DOWN);
 676:	85 b7       	in	r24, 0x35	; 53
 678:	87 7e       	andi	r24, 0xE7	; 231
 67a:	80 61       	ori	r24, 0x10	; 16
 67c:	85 bf       	out	0x35, r24	; 53
/home/coder/ArduinoIRC/tommy/tommy.ino:180
        sleep_enable();
 67e:	85 b7       	in	r24, 0x35	; 53
 680:	80 62       	ori	r24, 0x20	; 32
 682:	85 bf       	out	0x35, r24	; 53
/home/coder/ArduinoIRC/tommy/tommy.ino:181
        sleep_cpu();
 684:	88 95       	sleep
/home/coder/ArduinoIRC/tommy/tommy.ino:190
        startTheMelody();
      }
    }
  }
  
  if(playMelody)
 686:	80 91 7c 00 	lds	r24, 0x007C	; 0x80007c <playMelody>
 68a:	88 23       	and	r24, r24
 68c:	09 f4       	brne	.+2      	; 0x690 <main+0x122>
 68e:	a5 cf       	rjmp	.-182    	; 0x5da <main+0x6c>
millis():
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:341
  }

  unsigned long millis()
  {
    unsigned long m;
    uint8_t oldSREG = SREG;
 690:	8f b7       	in	r24, 0x3f	; 63
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:345

    // disable interrupts while we read millis_timer_millis or we might get an
    // inconsistent value (e.g. in the middle of a write to millis_timer_millis)
    cli();
 692:	f8 94       	cli
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:346
    m = millis_timer_millis;
 694:	80 90 87 00 	lds	r8, 0x0087	; 0x800087 <millis_timer_millis>
 698:	90 90 88 00 	lds	r9, 0x0088	; 0x800088 <millis_timer_millis+0x1>
 69c:	a0 90 89 00 	lds	r10, 0x0089	; 0x800089 <millis_timer_millis+0x2>
 6a0:	b0 90 8a 00 	lds	r11, 0x008A	; 0x80008a <millis_timer_millis+0x3>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/wiring.c:347
    SREG = oldSREG;
 6a4:	8f bf       	out	0x3f, r24	; 63
melody():
/home/coder/ArduinoIRC/tommy/tommy.ino:115
}

void melody () 
{
  unsigned long currentMillis = millis();
  if (! toneOn && 
 6a6:	20 91 7b 00 	lds	r18, 0x007B	; 0x80007b <toneOn>
 6aa:	80 91 77 00 	lds	r24, 0x0077	; 0x800077 <previousMillis>
 6ae:	90 91 78 00 	lds	r25, 0x0078	; 0x800078 <previousMillis+0x1>
 6b2:	a0 91 79 00 	lds	r26, 0x0079	; 0x800079 <previousMillis+0x2>
 6b6:	b0 91 7a 00 	lds	r27, 0x007A	; 0x80007a <previousMillis+0x3>
/home/coder/ArduinoIRC/tommy/tommy.ino:116
      (currentMillis - previousMillis) > pauseBetweenNotes)
 6ba:	b5 01       	movw	r22, r10
 6bc:	a4 01       	movw	r20, r8
 6be:	48 1b       	sub	r20, r24
 6c0:	59 0b       	sbc	r21, r25
 6c2:	6a 0b       	sbc	r22, r26
 6c4:	7b 0b       	sbc	r23, r27
/home/coder/ArduinoIRC/tommy/tommy.ino:115
}

void melody () 
{
  unsigned long currentMillis = millis();
  if (! toneOn && 
 6c6:	21 11       	cpse	r18, r1
 6c8:	de c0       	rjmp	.+444    	; 0x886 <main+0x318>
 6ca:	80 91 65 00 	lds	r24, 0x0065	; 0x800065 <pauseBetweenNotes>
 6ce:	90 91 66 00 	lds	r25, 0x0066	; 0x800066 <pauseBetweenNotes+0x1>
 6d2:	a0 91 67 00 	lds	r26, 0x0067	; 0x800067 <pauseBetweenNotes+0x2>
 6d6:	b0 91 68 00 	lds	r27, 0x0068	; 0x800068 <pauseBetweenNotes+0x3>
 6da:	84 17       	cp	r24, r20
 6dc:	95 07       	cpc	r25, r21
 6de:	a6 07       	cpc	r26, r22
 6e0:	b7 07       	cpc	r27, r23
 6e2:	08 f0       	brcs	.+2      	; 0x6e6 <main+0x178>
 6e4:	7a cf       	rjmp	.-268    	; 0x5da <main+0x6c>
/home/coder/ArduinoIRC/tommy/tommy.ino:118
      (currentMillis - previousMillis) > pauseBetweenNotes)
  {
    pauseBetweenNotes = 167 * 0.3;
 6e6:	82 e3       	ldi	r24, 0x32	; 50
 6e8:	90 e0       	ldi	r25, 0x00	; 0
 6ea:	a0 e0       	ldi	r26, 0x00	; 0
 6ec:	b0 e0       	ldi	r27, 0x00	; 0
 6ee:	80 93 65 00 	sts	0x0065, r24	; 0x800065 <pauseBetweenNotes>
 6f2:	90 93 66 00 	sts	0x0066, r25	; 0x800066 <pauseBetweenNotes+0x1>
 6f6:	a0 93 67 00 	sts	0x0067, r26	; 0x800067 <pauseBetweenNotes+0x2>
 6fa:	b0 93 68 00 	sts	0x0068, r27	; 0x800068 <pauseBetweenNotes+0x3>
/home/coder/ArduinoIRC/tommy/tommy.ino:119
    tone(buzzerPin, pgm_read_word(&halloween[noteCounter]));
 6fe:	e0 91 75 00 	lds	r30, 0x0075	; 0x800075 <noteCounter>
 702:	f0 91 76 00 	lds	r31, 0x0076	; 0x800076 <noteCounter+0x1>
 706:	ee 0f       	add	r30, r30
 708:	ff 1f       	adc	r31, r31
 70a:	ee 5d       	subi	r30, 0xDE	; 222
 70c:	ff 4f       	sbci	r31, 0xFF	; 255
 70e:	c5 90       	lpm	r12, Z+
 710:	d4 90       	lpm	r13, Z
 712:	f1 2c       	mov	r15, r1
 714:	e1 2c       	mov	r14, r1
tone():
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:58
static unsigned long freq=0;


void tone( uint8_t _pin, unsigned long frequency, unsigned long duration )
{
  if(_pin==tone_pin && freq==frequency&&duration==0) {
 716:	80 91 60 00 	lds	r24, 0x0060	; 0x800060 <__DATA_REGION_ORIGIN__>
 71a:	81 30       	cpi	r24, 0x01	; 1
 71c:	71 f4       	brne	.+28     	; 0x73a <main+0x1cc>
 71e:	40 91 71 00 	lds	r20, 0x0071	; 0x800071 <freq>
 722:	50 91 72 00 	lds	r21, 0x0072	; 0x800072 <freq+0x1>
 726:	60 91 73 00 	lds	r22, 0x0073	; 0x800073 <freq+0x2>
 72a:	70 91 74 00 	lds	r23, 0x0074	; 0x800074 <freq+0x3>
 72e:	c4 16       	cp	r12, r20
 730:	d5 06       	cpc	r13, r21
 732:	e6 06       	cpc	r14, r22
 734:	f7 06       	cpc	r15, r23
 736:	09 f4       	brne	.+2      	; 0x73a <main+0x1cc>
 738:	5e c0       	rjmp	.+188    	; 0x7f6 <main+0x288>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:61
    return;
  }
  freq=frequency;
 73a:	c0 92 71 00 	sts	0x0071, r12	; 0x800071 <freq>
 73e:	d0 92 72 00 	sts	0x0072, r13	; 0x800072 <freq+0x1>
 742:	e0 92 73 00 	sts	0x0073, r14	; 0x800073 <freq+0x2>
 746:	f0 92 74 00 	sts	0x0074, r15	; 0x800074 <freq+0x3>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:63

  if ( tone_pin == 255 )
 74a:	8f 3f       	cpi	r24, 0xFF	; 255
 74c:	f1 f4       	brne	.+60     	; 0x78a <main+0x21c>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:139
    TIFR |= ((1<<TOV1) | (1<<OCF1A) | (1<<OCF1B) | (1<<OCF1D));


#elif (TIMER_TO_USE_FOR_TONE == 1) //Well behaved timer
    // Turn off Input Capture Noise Canceler, Input Capture Edge Select on Falling, stop the clock
    TCCR1B = (0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) | (0<<CS10);
 74e:	1e bc       	out	0x2e, r1	; 46
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:141
    // Disconnect the timer from the output pins, Set Waveform Generation Mode to Normal
    TCCR1A = (0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (0<<WGM10);
 750:	1f bc       	out	0x2f, r1	; 47
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:143
    // Reset the count to zero
    TCNT1 = 0;
 752:	1d bc       	out	0x2d, r1	; 45
 754:	1c bc       	out	0x2c, r1	; 44
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:145
    // Set the output compare registers to zero
    OCR1A = 0;
 756:	1b bc       	out	0x2b, r1	; 43
 758:	1a bc       	out	0x2a, r1	; 42
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:146
    OCR1B = 0;
 75a:	19 bc       	out	0x29, r1	; 41
 75c:	18 bc       	out	0x28, r1	; 40
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:158
    TIMSK &= ~((1<<TOIE1) | (1<<OCIE1A) | (1<<OCIE1B) | (1<<ICIE1));
    // Clear the Timer1 interrupt flags
    TIFR |= ((1<<TOV1) | (1<<OCF1A) | (1<<OCF1B) | (1<<ICF1));
  #elif defined(TIMSK1)
    // Disable all Timer1 interrupts
    TIMSK1 &= ~((1<<TOIE1) | (1<<OCIE1A) | (1<<OCIE1B) | (1<<ICIE1));
 75e:	8c b1       	in	r24, 0x0c	; 12
 760:	88 7d       	andi	r24, 0xD8	; 216
 762:	8c b9       	out	0x0c, r24	; 12
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:160
    // Clear the Timer1 interrupt flags
    TIFR1 |= ((1<<TOV1) | (1<<OCF1A) | (1<<OCF1B) | (1<<ICF1));
 764:	8b b1       	in	r24, 0x0b	; 11
 766:	87 62       	ori	r24, 0x27	; 39
 768:	8b b9       	out	0x0b, r24	; 11
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:186
      // we know that TCCR1A and TCCR1B are 0
      // TCCR1A = (0<<WGM11) | (0<<WGM10); //we don't need this
      TCCR1B = (0<<WGM13) | (1<<WGM12);
    #elif !defined(TCCR1E)
      // TCCR1A = (0<<WGM11) | (0<<WGM10);
      TCCR1B=(1<<WGM12)|(0<<WGM13);
 76a:	88 e0       	ldi	r24, 0x08	; 8
 76c:	8e bd       	out	0x2e, r24	; 46
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:299

     }
     else
     {
      /* Save information needed by the interrupt service routine */
      tone_timer_pin_register = portOutputRegister( digitalPinToPort( _pin ) );
 76e:	30 92 70 00 	sts	0x0070, r3	; 0x800070 <tone_timer_pin_register+0x1>
 772:	20 92 6f 00 	sts	0x006F, r2	; 0x80006f <tone_timer_pin_register>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:300
      tone_timer_pin_mask = digitalPinToBitMask( _pin );
 776:	10 93 6e 00 	sts	0x006E, r17	; 0x80006e <tone_timer_pin_mask>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:311
      TCCR1 &= ~((1<<COM1A1)|(1<<COM1A0));
      GTCCR &= ~((1<<COM1B1)|(1<<COM1B0));
#elif (TIMER_TO_USE_FOR_TONE == 1) && defined(TCCR1E)
      TCCR1C &= ~((1<<COM1A1S)|(1<<COM1A0S)|(1<<COM1B1S)|(1<<COM1B0S)|(1<<COM1D1)|(1<<COM1D0));
#elif (TIMER_TO_USE_FOR_TONE == 1)
      TCCR1A &= ~((1<<COM1A1)|(1<<COM1A0)|(1<<COM1B1)|(1<<COM1B0));
 77a:	8f b5       	in	r24, 0x2f	; 47
 77c:	8f 70       	andi	r24, 0x0F	; 15
 77e:	8f bd       	out	0x2f, r24	; 47
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:316
#endif
    }

    /* Ensure the pin is configured for output */
    pinMode( _pin, OUTPUT );
 780:	61 e0       	ldi	r22, 0x01	; 1
 782:	81 e0       	ldi	r24, 0x01	; 1
 784:	13 de       	rcall	.-986    	; 0x3ac <pinMode>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:318

    tone_pin = _pin;
 786:	d0 93 60 00 	sts	0x0060, r29	; 0x800060 <__DATA_REGION_ORIGIN__>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:321
  }

  if ( tone_pin == _pin )
 78a:	c0 91 60 00 	lds	r28, 0x0060	; 0x800060 <__DATA_REGION_ORIGIN__>
 78e:	c1 30       	cpi	r28, 0x01	; 1
 790:	91 f5       	brne	.+100    	; 0x7f6 <main+0x288>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:336
    TCNT1 = 0;
#elif (TIMER_TO_USE_FOR_TONE == 1) && defined(TCCR1E)
    TCCR1B &= ~((1<<CS13)|(1<<CS12)|(1<<CS11)|(1<<CS10));
    TCNT1 = 0;
#elif (TIMER_TO_USE_FOR_TONE == 1)
    TCCR1B &= ~((1<<CS12)|(1 << CS11)|(1 << CS10));
 792:	8e b5       	in	r24, 0x2e	; 46
 794:	88 7f       	andi	r24, 0xF8	; 248
 796:	8e bd       	out	0x2e, r24	; 46
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:337
    TCNT1 = 0;
 798:	1d bc       	out	0x2d, r1	; 45
 79a:	1c bc       	out	0x2c, r1	; 44
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:340
#endif

    if ( frequency > 0 )
 79c:	c1 14       	cp	r12, r1
 79e:	d1 04       	cpc	r13, r1
 7a0:	e1 04       	cpc	r14, r1
 7a2:	f1 04       	cpc	r15, r1
 7a4:	09 f4       	brne	.+2      	; 0x7a8 <main+0x23a>
 7a6:	62 c0       	rjmp	.+196    	; 0x86c <main+0x2fe>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:352
  uint32_t ocr = 64000000UL / frequency / 2;
  #else
    #ifdef LOWPLLTIMER1
  uint32_t ocr = 32000000UL / frequency / 2;
    #else
  uint32_t ocr = F_CPU / frequency / 2;
 7a8:	60 e0       	ldi	r22, 0x00	; 0
 7aa:	79 e0       	ldi	r23, 0x09	; 9
 7ac:	8d e3       	ldi	r24, 0x3D	; 61
 7ae:	90 e0       	ldi	r25, 0x00	; 0
 7b0:	a7 01       	movw	r20, r14
 7b2:	96 01       	movw	r18, r12
 7b4:	8b d0       	rcall	.+278    	; 0x8cc <__udivmodsi4>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:389

       }
       OCR1C=ocr-1;
    #else
        uint8_t prescalarbits = 0b001;
       if (ocr > 0xffff)
 7b6:	21 15       	cp	r18, r1
 7b8:	31 05       	cpc	r19, r1
 7ba:	91 e0       	ldi	r25, 0x01	; 1
 7bc:	49 07       	cpc	r20, r25
 7be:	51 05       	cpc	r21, r1
 7c0:	40 f0       	brcs	.+16     	; 0x7d2 <main+0x264>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:391
        {
         ocr /= 64;
 7c2:	86 e0       	ldi	r24, 0x06	; 6
 7c4:	56 95       	lsr	r21
 7c6:	47 95       	ror	r20
 7c8:	37 95       	ror	r19
 7ca:	27 95       	ror	r18
 7cc:	8a 95       	dec	r24
 7ce:	d1 f7       	brne	.-12     	; 0x7c4 <main+0x256>
main():
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:392
          prescalarbits = 0b011;
 7d0:	c3 e0       	ldi	r28, 0x03	; 3
tone():
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:395
        }
    #endif
     ocr -= 1; //Note we are doing the subtraction of 1 here to save repeatedly calculating ocr from just the frequency in the if tree above
 7d2:	21 50       	subi	r18, 0x01	; 1
 7d4:	31 09       	sbc	r19, r1
 7d6:	41 09       	sbc	r20, r1
 7d8:	51 09       	sbc	r21, r1
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:403
          // the timer pin table now has the information we need!
          OCR1B = ocr;
      }
      // OCR1A is used for interrupts / duration
    #endif
      OCR1A = ocr;
 7da:	3b bd       	out	0x2b, r19	; 43
 7dc:	2a bd       	out	0x2a, r18	; 42
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:457
#endif
      }
      else
      {
        /* Indicate to the interrupt service routine that we'll be running until further notice */
        tone_timer_toggle_count = -1;
 7de:	40 92 6a 00 	sts	0x006A, r4	; 0x80006a <__data_end>
 7e2:	50 92 6b 00 	sts	0x006B, r5	; 0x80006b <__data_end+0x1>
 7e6:	60 92 6c 00 	sts	0x006C, r6	; 0x80006c <__data_end+0x2>
 7ea:	70 92 6d 00 	sts	0x006D, r7	; 0x80006d <__data_end+0x3>
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:473
    {
            /* Output Compare A Match Interrupt Enable (software control)*/
  #if defined (TIMSK)
            TIMSK |= (1<<OCIE1A);
  #else
            TIMSK1 |= (1 << OCIE1A);
 7ee:	61 9a       	sbi	0x0c, 1	; 12
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:495
#if (TIMER_TO_USE_FOR_TONE == 0)
      TCCR0B |= (prescalarbits << CS00);
#elif (TIMER_TO_USE_FOR_TONE == 1) && defined(TCCR1)
      TCCR1 |= (prescalarbits << CS10);
#elif (TIMER_TO_USE_FOR_TONE == 1)
      TCCR1B |= (prescalarbits << CS10);
 7f0:	8e b5       	in	r24, 0x2e	; 46
 7f2:	c8 2b       	or	r28, r24
 7f4:	ce bd       	out	0x2e, r28	; 46
melody():
/home/coder/ArduinoIRC/tommy/tommy.ino:120
    noteCounter++;    
 7f6:	80 91 75 00 	lds	r24, 0x0075	; 0x800075 <noteCounter>
 7fa:	90 91 76 00 	lds	r25, 0x0076	; 0x800076 <noteCounter+0x1>
 7fe:	01 96       	adiw	r24, 0x01	; 1
/home/coder/ArduinoIRC/tommy/tommy.ino:121
    if (noteCounter > 290)
 800:	83 32       	cpi	r24, 0x23	; 35
 802:	a1 e0       	ldi	r26, 0x01	; 1
 804:	9a 07       	cpc	r25, r26
 806:	d4 f5       	brge	.+116    	; 0x87c <main+0x30e>
/home/coder/ArduinoIRC/tommy/tommy.ino:120
  if (! toneOn && 
      (currentMillis - previousMillis) > pauseBetweenNotes)
  {
    pauseBetweenNotes = 167 * 0.3;
    tone(buzzerPin, pgm_read_word(&halloween[noteCounter]));
    noteCounter++;    
 808:	90 93 76 00 	sts	0x0076, r25	; 0x800076 <noteCounter+0x1>
 80c:	80 93 75 00 	sts	0x0075, r24	; 0x800075 <noteCounter>
/home/coder/ArduinoIRC/tommy/tommy.ino:128
      // the old program plays the melody only once
      // with resetting the note counter to 0
      // the melody start again and again.
      noteCounter = 0;
    }
    toneOn = true;
 810:	d0 93 7b 00 	sts	0x007B, r29	; 0x80007b <toneOn>
/home/coder/ArduinoIRC/tommy/tommy.ino:129
    digitalWrite(led1, toneOn);
 814:	61 e0       	ldi	r22, 0x01	; 1
 816:	87 e0       	ldi	r24, 0x07	; 7
 818:	84 dd       	rcall	.-1272   	; 0x322 <digitalWrite>
/home/coder/ArduinoIRC/tommy/tommy.ino:130
    digitalWrite(led2, toneOn);  
 81a:	61 e0       	ldi	r22, 0x01	; 1
/home/coder/ArduinoIRC/tommy/tommy.ino:140
  {
    lengthOfActiveNote = 168;
    noTone(buzzerPin);
    toneOn = false;
    digitalWrite(led1, toneOn);
    digitalWrite(led2, toneOn);  
 81c:	88 e0       	ldi	r24, 0x08	; 8
 81e:	81 dd       	rcall	.-1278   	; 0x322 <digitalWrite>
/home/coder/ArduinoIRC/tommy/tommy.ino:141
    previousMillis = currentMillis;
 820:	80 92 77 00 	sts	0x0077, r8	; 0x800077 <previousMillis>
 824:	90 92 78 00 	sts	0x0078, r9	; 0x800078 <previousMillis+0x1>
 828:	a0 92 79 00 	sts	0x0079, r10	; 0x800079 <previousMillis+0x2>
 82c:	b0 92 7a 00 	sts	0x007A, r11	; 0x80007a <previousMillis+0x3>
 830:	d4 ce       	rjmp	.-600    	; 0x5da <main+0x6c>
startTheMelody():
/home/coder/ArduinoIRC/tommy/tommy.ino:104
  digitalWrite(led2, toneOn);  
}

void startTheMelody()
{
  previousMillis = 0;
 832:	10 92 77 00 	sts	0x0077, r1	; 0x800077 <previousMillis>
 836:	10 92 78 00 	sts	0x0078, r1	; 0x800078 <previousMillis+0x1>
 83a:	10 92 79 00 	sts	0x0079, r1	; 0x800079 <previousMillis+0x2>
 83e:	10 92 7a 00 	sts	0x007A, r1	; 0x80007a <previousMillis+0x3>
/home/coder/ArduinoIRC/tommy/tommy.ino:105
  pauseBetweenNotes = 0;
 842:	10 92 65 00 	sts	0x0065, r1	; 0x800065 <pauseBetweenNotes>
 846:	10 92 66 00 	sts	0x0066, r1	; 0x800066 <pauseBetweenNotes+0x1>
 84a:	10 92 67 00 	sts	0x0067, r1	; 0x800067 <pauseBetweenNotes+0x2>
 84e:	10 92 68 00 	sts	0x0068, r1	; 0x800068 <pauseBetweenNotes+0x3>
/home/coder/ArduinoIRC/tommy/tommy.ino:106
  noteCounter = 0;
 852:	10 92 76 00 	sts	0x0076, r1	; 0x800076 <noteCounter+0x1>
 856:	10 92 75 00 	sts	0x0075, r1	; 0x800075 <noteCounter>
/home/coder/ArduinoIRC/tommy/tommy.ino:107
  toneOn = false;
 85a:	10 92 7b 00 	sts	0x007B, r1	; 0x80007b <toneOn>
/home/coder/ArduinoIRC/tommy/tommy.ino:108
  digitalWrite(led1, toneOn);
 85e:	60 e0       	ldi	r22, 0x00	; 0
 860:	87 e0       	ldi	r24, 0x07	; 7
 862:	5f dd       	rcall	.-1346   	; 0x322 <digitalWrite>
/home/coder/ArduinoIRC/tommy/tommy.ino:109
  digitalWrite(led2, toneOn);  
 864:	60 e0       	ldi	r22, 0x00	; 0
 866:	88 e0       	ldi	r24, 0x08	; 8
 868:	5c dd       	rcall	.-1352   	; 0x322 <digitalWrite>
 86a:	0d cf       	rjmp	.-486    	; 0x686 <main+0x118>
tone():
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:517
      #endif
      #if defined(OCIE1D)
      TIMSK &= ~(1<<OCIE1D);
      #endif
    #else
      TIMSK1 |= (1 << OCIE1A);
 86c:	61 9a       	sbi	0x0c, 1	; 12
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:518
      TIMSK1 &= ~((1 << ICIE1) | (1 << OCIE1B) | (1 << OCIE1A) | (1 << TOIE1));
 86e:	8c b1       	in	r24, 0x0c	; 12
 870:	88 7d       	andi	r24, 0xD8	; 216
 872:	8c b9       	out	0x0c, r24	; 12
/home/coder/.arduino15/internal/ATTinyCore_avr_1.5.2_827d232f0d6e52db/cores/tiny/Tone.cpp:532
    #endif
  #endif
#endif

      /* Clock is stopped.  Counter is zero.  The only thing left to do is turn off the output. */
      digitalWrite( _pin, 0 );
 874:	60 e0       	ldi	r22, 0x00	; 0
 876:	81 e0       	ldi	r24, 0x01	; 1
 878:	54 dd       	rcall	.-1368   	; 0x322 <digitalWrite>
 87a:	bd cf       	rjmp	.-134    	; 0x7f6 <main+0x288>
melody():
/home/coder/ArduinoIRC/tommy/tommy.ino:126
    if (noteCounter > 290)
    {
      // the old program plays the melody only once
      // with resetting the note counter to 0
      // the melody start again and again.
      noteCounter = 0;
 87c:	10 92 76 00 	sts	0x0076, r1	; 0x800076 <noteCounter+0x1>
 880:	10 92 75 00 	sts	0x0075, r1	; 0x800075 <noteCounter>
 884:	c5 cf       	rjmp	.-118    	; 0x810 <main+0x2a2>
/home/coder/ArduinoIRC/tommy/tommy.ino:133
    toneOn = true;
    digitalWrite(led1, toneOn);
    digitalWrite(led2, toneOn);  
    previousMillis = currentMillis;
  }
  else if(toneOn && 
 886:	80 91 61 00 	lds	r24, 0x0061	; 0x800061 <lengthOfActiveNote>
 88a:	90 91 62 00 	lds	r25, 0x0062	; 0x800062 <lengthOfActiveNote+0x1>
 88e:	a0 91 63 00 	lds	r26, 0x0063	; 0x800063 <lengthOfActiveNote+0x2>
 892:	b0 91 64 00 	lds	r27, 0x0064	; 0x800064 <lengthOfActiveNote+0x3>
 896:	84 17       	cp	r24, r20
 898:	95 07       	cpc	r25, r21
 89a:	a6 07       	cpc	r26, r22
 89c:	b7 07       	cpc	r27, r23
 89e:	08 f0       	brcs	.+2      	; 0x8a2 <main+0x334>
 8a0:	9c ce       	rjmp	.-712    	; 0x5da <main+0x6c>
/home/coder/ArduinoIRC/tommy/tommy.ino:136
          (currentMillis - previousMillis) > lengthOfActiveNote)
  {
    lengthOfActiveNote = 168;
 8a2:	88 ea       	ldi	r24, 0xA8	; 168
 8a4:	90 e0       	ldi	r25, 0x00	; 0
 8a6:	a0 e0       	ldi	r26, 0x00	; 0
 8a8:	b0 e0       	ldi	r27, 0x00	; 0
 8aa:	80 93 61 00 	sts	0x0061, r24	; 0x800061 <lengthOfActiveNote>
 8ae:	90 93 62 00 	sts	0x0062, r25	; 0x800062 <lengthOfActiveNote+0x1>
 8b2:	a0 93 63 00 	sts	0x0063, r26	; 0x800063 <lengthOfActiveNote+0x2>
 8b6:	b0 93 64 00 	sts	0x0064, r27	; 0x800064 <lengthOfActiveNote+0x3>
/home/coder/ArduinoIRC/tommy/tommy.ino:137
    noTone(buzzerPin);
 8ba:	81 e0       	ldi	r24, 0x01	; 1
 8bc:	08 dd       	rcall	.-1520   	; 0x2ce <noTone(unsigned char)>
/home/coder/ArduinoIRC/tommy/tommy.ino:138
    toneOn = false;
 8be:	10 92 7b 00 	sts	0x007B, r1	; 0x80007b <toneOn>
/home/coder/ArduinoIRC/tommy/tommy.ino:139
    digitalWrite(led1, toneOn);
 8c2:	60 e0       	ldi	r22, 0x00	; 0
 8c4:	87 e0       	ldi	r24, 0x07	; 7
 8c6:	2d dd       	rcall	.-1446   	; 0x322 <digitalWrite>
/home/coder/ArduinoIRC/tommy/tommy.ino:140
    digitalWrite(led2, toneOn);  
 8c8:	60 e0       	ldi	r22, 0x00	; 0
 8ca:	a8 cf       	rjmp	.-176    	; 0x81c <main+0x2ae>

000008cc <__udivmodsi4>:
__udivmodsi4():
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:1638
 8cc:	a1 e2       	ldi	r26, 0x21	; 33
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:1639
 8ce:	1a 2e       	mov	r1, r26
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:1640
 8d0:	aa 1b       	sub	r26, r26
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:1641
 8d2:	bb 1b       	sub	r27, r27
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:1642
 8d4:	fd 01       	movw	r30, r26
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:1644
 8d6:	0d c0       	rjmp	.+26     	; 0x8f2 <__udivmodsi4_ep>

000008d8 <__udivmodsi4_loop>:
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:1646
 8d8:	aa 1f       	adc	r26, r26
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:1647
 8da:	bb 1f       	adc	r27, r27
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:1648
 8dc:	ee 1f       	adc	r30, r30
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:1649
 8de:	ff 1f       	adc	r31, r31
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:1650
 8e0:	a2 17       	cp	r26, r18
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:1651
 8e2:	b3 07       	cpc	r27, r19
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:1652
 8e4:	e4 07       	cpc	r30, r20
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:1653
 8e6:	f5 07       	cpc	r31, r21
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:1654
 8e8:	20 f0       	brcs	.+8      	; 0x8f2 <__udivmodsi4_ep>
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:1655
 8ea:	a2 1b       	sub	r26, r18
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:1656
 8ec:	b3 0b       	sbc	r27, r19
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:1657
 8ee:	e4 0b       	sbc	r30, r20
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:1658
 8f0:	f5 0b       	sbc	r31, r21

000008f2 <__udivmodsi4_ep>:
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:1660
 8f2:	66 1f       	adc	r22, r22
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:1661
 8f4:	77 1f       	adc	r23, r23
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:1662
 8f6:	88 1f       	adc	r24, r24
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:1663
 8f8:	99 1f       	adc	r25, r25
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:1664
 8fa:	1a 94       	dec	r1
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:1665
 8fc:	69 f7       	brne	.-38     	; 0x8d8 <__udivmodsi4_loop>
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:1667
 8fe:	60 95       	com	r22
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:1668
 900:	70 95       	com	r23
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:1669
 902:	80 95       	com	r24
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:1670
 904:	90 95       	com	r25
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:1672
 906:	9b 01       	movw	r18, r22
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:1674
 908:	ac 01       	movw	r20, r24
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:1676
 90a:	bd 01       	movw	r22, r26
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:1678
 90c:	cf 01       	movw	r24, r30
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:1680
 90e:	08 95       	ret

00000910 <_exit>:
exit():
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:2278
 910:	f8 94       	cli

00000912 <__stop_program>:
__stop_program():
/home/jenkins/workspace/avr-gcc-staging/label/debian7-x86_64/gcc-build/avr/avr25/libgcc/../../../../gcc/libgcc/config/avr/lib1funcs.S:2280
 912:	ff cf       	rjmp	.-2      	; 0x912 <__stop_program>
